
// utils/userStorage.js

// 定义存储键名
const STORAGE_KEY = 'user_info';
const STORAGE_TOKEN_KEY = 'user_token';
/**
 * 保存用户信息到本地存储
 * @param {Object} userData - 用户信息对象
 */
export const saveUserInfo = (userData) => {
    if (userData && typeof userData === 'object') {
        // 添加保存时间
        const dataWithTime = {
            ...userData,
            savedAt: new Date().getTime()
        };
        localStorage.setItem(STORAGE_KEY, JSON.stringify(dataWithTime));
    }
};

export const saveUserToken = (userToken) => {
    localStorage.setItem(STORAGE_TOKEN_KEY, userToken);
};

/**
 * 从本地存储获取用户信息
 * @returns {Object|null} 用户信息对象或null
 */
export const getUserInfo = () => {
    const userStr = localStorage.getItem(STORAGE_KEY);
    if (userStr) {
        try {
            return JSON.parse(userStr);
        } catch (e) {
            console.error('解析用户信息失败:', e);
            // 解析失败时清除错误数据
            clearUserInfo();
            return null;
        }
    }
    return null;
};

export const getUserToken = () => {
    const userToken = localStorage.getItem(STORAGE_TOKEN_KEY);
    return userToken;
};

/**
 * 清除本地存储中的用户信息
 */
export const clearUserInfo = () => {
    localStorage.removeItem(STORAGE_KEY);
};

/**
 * 检查用户是否已登录
 * @returns {boolean} 是否登录
 */
export const isUserLoggedIn = () => {
    return !!getUserInfo();
};

